package com.cpr.core.rabbitmq.client.pubsub.defaultex;

import com.rabbitmq.client.CancelCallback;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.DeliverCallback;
import com.rabbitmq.client.Delivery;
import com.rabbitmq.client.GetResponse;

import java.io.IOException;

/**
 * @author Chen Panrui
 * created at 2022/3/14 14:35
 *
 * 工作队列模式，consumer以轮询的方式 接收
 *
 */
public class Consumer {
    public static void main(String[] args) throws Exception {
        ConnectionFactory factory = new ConnectionFactory();
        // 指定协议 用户名+密码+host+端口号+虚拟主机
        factory.setUri("amqp://admin:123456@106.13.89.7:5672/%2f");

        Connection connection = factory.newConnection();
        Channel channel = connection.createChannel();

        channel.queueDeclare("queue.default.ex", false, false, false, null);
        // autoAck:是否自动确认
        GetResponse response = channel.basicGet("queue.default.ex", true);
        System.out.println("拉取到的消息:" + new String(response.getBody()));

        channel.close();
        connection.close();
    }
}
